A. Technical Field
The present invention relates to a signal processor, and more particularly, to systems, devices and methods of using a sensor fusion algorithm to integrate sensor data collected by accelerometers, gyroscopes and magnetometers.
B. Background of the Invention
An electronic device has to integrate a variety of sensors in order to accurately monitor movements of the device. These sensors identify different motion parameters at different directions during the course of such movement. In particular, accelerometers, gyroscopes and magnetic compasses are used to detect accelerations, rotation rates and magnetic field magnitudes with respect to certain sensing axes. Such motion information is fused in the electronic device to provide feedback and guidance for subsequent motion control. Nowadays, such motion sensor systems are widely applied in many applications including global positioning systems (GPS), mobile phones, automobiles, satellites and game machines.
Each sensor provides a unique form of motion sensing. Although each sensor has its own strengths, it has some limitations as well. For instance, the accelerometers may sensor both gravity and device acceleration rates which are used to determine the inclination of the device with respect to the ground. However, the heading information is absent, and neither do most accelerometers respond to fast movement as well as to slow movement. The gyroscopes are capable of sensing rotation rates and angles of rotation with respect to a center of mass. Although they have immunity to magnetic interference and linear acceleration noise, the gyroscopes normally do not have an absolute reference, and the rotation rates could be associated with a significant drift over time. The magnetic compasses, also known as magnetometers, may help derive the absolute reference to the magnetic north, and thus, provide the head information that the accelerometers fail to offer. However, the magnetometers are normally sensitive to electromagnetic interference. As a result, these sensors have to be integrated to provide their unique strengths while overcoming their respective inherent limitations.
When signals of a variety of sensors are integrated together, they may result in an enhanced motion sensing experience that is much faster, smoother and more accurate than what each individual sensor can offer separately. Such an experience relies on a condition that the sensor data have to be fused together efficiently. Previously, a Kalman Filter is applied to integrate the sensor data coming from accelerometers, gyroscopes and magnetometers. The Kalman Filter has at least seven states, and if implemented on a 32 bit Advanced RISC Machine (ARM) architecture, would lead to computational complexity of 100 million instructions per second (MIPS) on average. Such computational complexity requires not only a large chip area for implementing the filter, but also large power consumption to sustain its normal operation. Therefore, this filter-based fusion algorithm has been implemented by an external microprocessor.